<?php
class updateGroup extends group {
	function __construct($id) {
		parent::__construct($id);
	}

	/**
	 * actualiza un alumno trayendo un array y un criterio.
	 * @param array $arrDatos
	 * @param string $criterio
	 * @param string $tabla
	 * @example
	 * 	$arrDatos["nombre"]="Federico"; 
	 * 	$arrDatos["apellido"]="Cano";
	 * 	$arrDatos["email"]="canofedericomartin@gmail.com";
	 * 	$arrDatos["celular"]=1151192112;
	 * 	update($arrDatos,"id_producto=1");
	 */
	public function update($criterio = null,$arrDatos = null) {
		$arrDatos = $this->data['grupos'];
		$arrDatos['ultima_actualizacion'] = time();
		$arr_keys = array_keys($arrDatos);
		$values = "";
		$query = "UPDATE grupos SET ";
		for ($i = 0; $i < count($arr_keys);$i++) {
			$values .=$arr_keys[$i]."=";
			if (is_string($arrDatos[$arr_keys[$i]])) {	$values .= "'".$arrDatos[$arr_keys[$i]]."',"; }
			else { $values .= $arrDatos[$arr_keys[$i]].","; }
		}
		$values = substr($values,0,strlen($values)-1);
		$query .= $values;
		if (!is_null($criterio)) $query .= " WHERE ".$criterio;
		$query .= ";";
		try {
			mysql_query($query);
			if (1000 < mysql_errno() && mysql_errno() < 2056) throw new Exception("Error al intentar actualizar datos en grupos.");
		} catch (Exception $e) {
			var_dump($query);
			echo mysql_errno(). " : " .mysql_error();
			exit();
		}
		return $query;
	}
	/* Traer datos
		a Futuro debera verificar si tiene permiso y si el alumno esta cursando con el
	*/
	public function getAllFrom($id) {
		$arrResult = array();
		$query = "SELECT * FROM grupos";
		$query .= " WHERE (id=".$id.") AND (estado>0) AND (fk_origen=".$this->get('grupos','fk_origen').")";
		$query .= ";";
		$arrResult = $this->ejecutarSelect($query);
		$i = 0;
		foreach ($arrResult as $result) {
			$key = array_keys($result);
			for ($c=0;$c<round(count($key)/2,0);$c++) {
				$this->data['grupos'][$key[$i*2+1]] = $result[$key[$i*2+1]];
				$i++;
			}
		}
		return $arrResult;
	}

	private function ejecutarSelect($query) {
		$arrResult = array();
		try {
			$registros = mysql_query($query);
			if (mysql_errno() == 1146) throw new Exception("La tabla no existe.<br>");
			else {
				$i = 0;
				$reg = @mysql_fetch_array($registros);
				do {
					if ((!$reg) && ($i == 0)) throw new Exception("La tabla esta vacia.<br>");
					if (1000 < mysql_errno() && mysql_errno() < 2056) throw new Exception("Error en el SELECT.");
					else {
						$arr_keys = array_keys($reg);
						for ($ii = 0; $ii < count($arr_keys);$ii++) $arrResult[$i][$arr_keys[$ii]] = $reg[$arr_keys[$ii]];
						$i++;
					}
				} while ($reg = mysql_fetch_array($registros));
			}
		} catch (Exception $e) {
			/*echo $e->getMessage();
			echo $e->getTraceAsString();
			echo mysql_error();*/
		}
		return $arrResult;
	}
}
?>